import os

BASE_DIR = os.path.dirname(os.path.abspath(__file__))

print("__file__是什么：", __file__)
print("os.path.abspath(__file__)", os.path.abspath(__file__))
print("os.path.abspath(.)", os.path.abspath("."))
print(".")
# ". "代表执行文件所在的目录
print("os.path.dirname(os.path.abspath(__file__))", os.path.dirname(os.path.abspath(__file__)))
# os.path.dirname(os.path.abspath(__file__)) 就是访问到项目目录
# os.path.dirname是将括号中的目录的父级目录获取出来
# 由于os.path.abspath(__file__) 是app.py的文件的绝对路径，这个绝对路径
# 的父级目录是项目目录，所以os.path.dirname(os.path.abspath(__file__))就是获取app.py绝对路径的父级目录，也就是项目目录


# 调试登录成功的案例代码
import requests
import app  # 必须这么导入app，而不能from app import BASE_URL

# 发送登录成功的接口请求
response = requests.post(url=app.BASE_URL + "/api/sys/login",
                         headers=app.HEADERS,
                         json={"mobile": "13800000002", "password": "123456"})
print("登录成功的结果：", response.json())

# 由于添加员工需要拿到令牌，所以我们需要在登录后，提取令牌
token = "Bearer " + response.json().get("data")
print("提取的令牌为：", token)

# 使用提取的令牌，实现添加员工接口
response = requests.post(url=app.BASE_URL + "/api/sys/user",
                         headers={"Content-Type": "application/json",
                                  "Authorization": token},
                         json={"username": "尼古拉斯特斯拉",
                               "mobile": "18945325569",
                               "timeOfEntry": "2020-09-08",
                               "formOfEmployment": 1,
                               "workNumber": "111",
                               "departmentName": "25",
                               "departmentId": "1294631011023421440",
                               "correctionTime": "2020-09-20T16:00:00.000Z"})
print("添加员工的结果为：", response.json())

# 由于后续的查询员工、以及修改、删除员工都是需要使用员工ID拼接成URL，所以我们需要提取员工ID
emp_id = response.json().get("data").get("id")
print("提取的员工ID为：", emp_id)
# 注意：由于手机号码不能重复，手机每次重新运行添加员工都需要手动把员工的mobile改成一个新的

# 使用提取的令牌和提取的员工ID，实现查询员工
response = requests.get(url=app.BASE_URL + "/api/sys/user" + "/" + emp_id,
                        headers={"Content-Type": "application/json",
                                  "Authorization": token})
print("查询员工的结果为：", response.json())

# 实现修改员工
response = requests.put(url=app.BASE_URL + "/api/sys/user" + "/" + emp_id,
                        headers={"Content-Type": "application/json",
                                  "Authorization": token},
                        json={"username":"爱因斯坦666"})
print("修改员工的结果为：", response.json())

# 实现删除员工
response = requests.delete(url=app.BASE_URL + "/api/sys/user" + "/" + emp_id,
                           headers={"Content-Type": "application/json",
                                  "Authorization": token})
print("删除员工的结果为：", response.json())

# 实现查询员工列表
response = requests.get(url=app.BASE_URL + "/api/sys/user?page=1&size=10",
                        headers={"Content-Type": "application/json",
                                 "Authorization": token}
                        )
print("查询员工列表：", response.json())

# 基础知识字典的扩展
a = {"a":"1", "b":"2"}
# 先在需要在字典a中，添加c值为3？ a ={"a": "1", "b":"2", "c":"3"}
a["c"] = "3"

print(a)

